# Maintainer: Antonio Rojas <arojas@archlinux.org>
# Maintainer: Felix Yan <felixonmars@archlinux.org>
# Contributor: Andrea Scarpino <andrea@archlinux.org>

pkgbase=kcachegrind
pkgname=(kcachegrind kcachegrind-common qcachegrind)
pkgver=23.04.1
pkgrel=1
pkgdesc='Visualization of Performance Profiling Data'
url='https://apps.kde.org/kcachegrind/'
arch=(x86_64)
license=(GPL LGPL FDL)
makedepends=(extra-cmake-modules kdoctools qt5-tools kio)
source=(https://download.kde.org/stable/release-service/$pkgver/src/$pkgname-$pkgver.tar.xz{,.sig})
sha256sums=('91d4679fb19bf1bfa2a3beb23c3f629aba2f0871dff09af144511901a26274ea'
            'SKIP')
validpgpkeys=(CA262C6C83DE4D2FB28A332A3A6A4DB839EAA6D7  # Albert Astals Cid <aacid@kde.org>
              F23275E4BF10AFC1DF6914A6DBD2CE893E2D1C87  # Christoph Feck <cfeck@kde.org>
              D81C0CB38EB725EF6691C385BB463350D6EF31EF) # Heiko Becker <heiko.becker@kde.org>

build() {
  cmake -B build -S $pkgname-$pkgver \
    -DBUILD_TESTING=OFF
  cmake --build build
}

package_kcachegrind() {
  groups=(kde-applications kdesdk)
  depends=(kio kcachegrind-common)
  optdepends=('graphviz: for plotting support')

  DESTDIR="$pkgdir" cmake --install build
  rm -r "$pkgdir"/usr/{bin/*tree,share/{doc,icons,locale}}
}

package_kcachegrind-common() {
  pkgdesc+=' (common files)'
  depends=(hicolor-icon-theme)
  optdepends=('php: for pprof2calltree' 'perl: for dprof2calltree, memprof2calltree and op2calltree')

  DESTDIR="$pkgdir" cmake --install build
  rm -r "$pkgdir"/usr/{bin/kcachegrind,share/{kcachegrind,applications,metainfo}} # provided by kcachegrind

  # Fix python 2 path
  sed -i 's|#!/usr/bin/env python|#!/usr/bin/env python2|' \
    "$pkgdir"/usr/bin/hotshot2calltree
}

package_qcachegrind() {
  pkgdesc+=' (pure Qt version)'
  depends=(qt5-base kcachegrind-common)
  optdepends=('graphviz: for plotting support')

  install -Dm755 build/bin/qcachegrind -t "$pkgdir"/usr/bin/
  install -Dm644 $pkgbase-$pkgver/qcachegrind/qcachegrind.desktop -t "$pkgdir"/usr/share/applications/
}
